{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. _nb_unsga3:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## U-NSGA-III\n",
    "\n",
    "\n",
    "The algorithm is implemented based on <cite data-cite=\"unsga3\"></cite>. NSGA-III selects parents randomly for mating. It has been shown that tournament selection performs better than random selection. The *U* stands for *unified* and increases the performance of NSGA-III by introducing tournament pressure. \n",
    "\n",
    "The mating selections works as follows:\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"display: block;margin-left: auto;margin-right: auto;width: 45%;\">\n",
    "![unsga3_mating](../resources/images/unsga3_mating.png)\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "code": "algorithms/usage_unsga3.py",
    "section": "unsga3"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "UNSGA3: Best solution found: \n",
      "X = [-0.03361763 -0.0765763   0.08319404 -0.01884934 -0.08956898  0.02424948\n",
      " -0.0742758  -0.03324263  0.01375688  0.07366408 -0.07184055 -0.03413214\n",
      "  0.05850567  0.00359355  0.05727249  0.08145104  0.02723058 -0.00022916\n",
      "  0.01453122 -0.07837368 -0.03632389  0.02878503 -0.01358104  0.00727682\n",
      " -0.06518616 -0.02728898  0.01839204  0.01375858 -0.06653483  0.05340933]\n",
      "F = [0.33397188]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "from pymoo.algorithms.nsga3 import NSGA3\n",
    "from pymoo.algorithms.unsga3 import UNSGA3\n",
    "from pymoo.factory import get_problem\n",
    "from pymoo.optimize import minimize\n",
    "\n",
    "problem = get_problem(\"ackley\", n_var=30)\n",
    "\n",
    "# create the reference directions to be used for the optimization - just a single one here\n",
    "ref_dirs = np.array([[1.0]])\n",
    "\n",
    "# create the algorithm object\n",
    "algorithm = UNSGA3(ref_dirs, pop_size=100)\n",
    "\n",
    "# execute the optimization\n",
    "res = minimize(problem,\n",
    "               algorithm,\n",
    "               termination=('n_gen', 150),\n",
    "               save_history=True,\n",
    "               seed=1)\n",
    "\n",
    "print(\"UNSGA3: Best solution found: \\nX = %s\\nF = %s\" % (res.X, res.F))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "U-NSGA-III has for single- and bi-objective problems a tournament pressure which is known to be useful.\n",
    "In the following we provide a quick comparison (here just one run, so not a valid experiment), to see the difference in convergence."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "code": "algorithms/usage_unsga3.py",
    "section": "no_unsga3"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NSGA3: Best solution found: \n",
      "X = [-0.03361763 -0.0765763   0.08319404 -0.01884934 -0.08956898  0.02424948\n",
      " -0.0742758  -0.03324263  0.01375688  0.07366408 -0.07184055 -0.03413214\n",
      "  0.05850567  0.00359355  0.05727249  0.08145104  0.02723058 -0.00022916\n",
      "  0.01453122 -0.07837368 -0.03632389  0.02878503 -0.01358104  0.00727682\n",
      " -0.06518616 -0.02728898  0.01839204  0.01375858 -0.06653483  0.05340933]\n",
      "F = [0.33397188]\n"
     ]
    }
   ],
   "source": [
    "_res = minimize(problem,\n",
    "                NSGA3(ref_dirs, pop_size=100),\n",
    "                termination=('n_gen', 150),\n",
    "                save_history=True,\n",
    "                seed=1)\n",
    "print(\"NSGA3: Best solution found: \\nX = %s\\nF = %s\" % (res.X, res.F))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "code": "algorithms/usage_unsga3.py",
    "section": "unsga3_comp"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 277,
       "width": 392
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "ret = [np.min(e.pop.get(\"F\")) for e in res.history]\n",
    "_ret = [np.min(e.pop.get(\"F\")) for e in _res.history]\n",
    "\n",
    "plt.plot(np.arange(len(ret)), ret, label=\"unsga3\")\n",
    "plt.plot(np.arange(len(_ret)), _ret, label=\"nsga3\")\n",
    "plt.title(\"Convergence\")\n",
    "plt.xlabel(\"Generation\")\n",
    "plt.ylabel(\"F\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    "### API"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. autoclass:: pymoo.algorithms.unsga3.UNSGA3\n",
    "    :noindex:"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
